package com.itheima.utils;

import cn.hutool.core.convert.Convert;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class RandomUtil {
    /**
     * 从集合中随机取出N个不重复的元素
     * @param list 需要被取出数据的集合
     * @param n 取出的元素数量
     * @return
     */
    public static List<Long> createRandoms(List<Long> list, int n) {
        Map<Long,String> map = new HashMap();
        List<Long> news = new ArrayList();
        if (list.size() <= n) {
            return list;
        } else {
            while (map.size() < n) {
                Long random = Convert.toLong((Math.random() * list.size()));
                if (!map.containsKey(random)) {
                    map.put(random, "");
                    news.add(list.get(Convert.toInt(random)));
                }
            }
            return news;
        }
    }
}
